#include <QDebug>
#include "capadibujo.h"

CapaDibujo::CapaDibujo() : Capa()
{

}

CapaDibujo::~CapaDibujo()
{

}

void CapaDibujo::dibujarImagen(QPainter* painter, const QRectF& encuadreReal, int anchoPixeles, int altoPixeles)
{
    dibujarPartesDinamicas(painter, encuadreReal, anchoPixeles, altoPixeles);
}

void CapaDibujo::pedirImagen(const QRectF& encuadreReal, int anchoPixeles, int altoPixeles)
{
    if (!imagen.isNull() &&
        this->encuadreReal == encuadreReal &&
        imagen.width() == anchoPixeles &&
        imagen.height() == altoPixeles) {
        return;
    }

    QPixmap pixmap(anchoPixeles, altoPixeles);
	pixmap.fill();
    QPainter painter(&pixmap);

    dibujarPartesEstaticas(&painter, encuadreReal, anchoPixeles, altoPixeles);
    
    painter.end();

    imagen = pixmap.toImage();
    this->encuadreReal = encuadreReal;
}



